package com.aierjun.camera.record;

import android.view.MotionEvent;
import android.view.TextureView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;

import com.aierjun.camera.widget.FocusImageView;
import com.aierjun.camera.widget.RecordCameraView;

public interface RecordVideoManagerInterface {

    /**
     * 初始化相机并设置监听
     */
    RecordVideoManager initCamera(RecordCameraView cameraView);

    /**
     * 初始化对焦View并设置监听
     */
    RecordVideoManager initFocusImageView(FocusImageView focusImageView);

    /**
     * 初始化控制器及其子按钮并设置监听
     */
    RecordVideoManager initControllerRLChildView(RelativeLayout controller_rl, ImageView backImageView, ImageView shutterImageView, ImageView btn_lenses, ImageView btn_flashlight, ImageView okImageView);

    /**
     * 初始化加速度控制器
     */
    RecordVideoManager initSensorControler();

    /**
     * 初始化变焦，拉远拉近的seekbar
     */
    RecordVideoManager initZoomSeekBar(SeekBar zoom_seekbar);

    /**
     * 初始化TextureView
     */
    RecordVideoManager initTextureView(TextureView textureView);
//    /**
//     * 相机对焦  默认不需要延时
//     */
//    void onCameraFocus(final Point point);
//
//    /**
//     * 相机对焦
//     * 是否需要延时
//     */
//    void onCameraFocus(final Point point, boolean needDelay);

    /**
     * 与 Activity 生命周期绑定
     */
    void onStart();

    /**
     * 与 Activity 生命周期绑定
     */
    void onStop();

    /**
     * 与 Activity 生命周期绑定
     */
    void onDestroy();

    /**
     * 触摸处理
     */
    boolean onTouchEvent(MotionEvent event);

//    /**
//     * 两点的距离
//     */
//    float spacing(MotionEvent event);

    /**
     * 设置保存监听
     * */
    void setSaveCallBackPathLister(SaveCallBackPathLister saveCallBackPathLister);


}
